package dominio;

import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

import dominioTO.CotizacionTO;
import dominioTO.ItemCotizacionTO;

//Cotizacion lado Servidor DAO (Persistencia)
public class Cotizacion {
	
	
	private String idCotizacion; //ID proporcionado por cliente
	private Date fecha;
	private Cliente cliente;
	private Integer tiempoValidez;
	private float totalConDescuento;
	private float totalSinDescuento;
	private float descuentoPorc;
	private SolicitudRodamientos solicitudRodamientos;
	private List<ItemCotizacion> items;
	private String estado;
	
	
	public Cotizacion() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	//Getters & Setters

	public SolicitudRodamientos getSolicitudRodamientos() {
		return solicitudRodamientos;
	}
	public void setSolicitudRodamientos(SolicitudRodamientos solicitudRodamientos) {
		this.solicitudRodamientos = solicitudRodamientos;
	}
	public Date getFecha() {
		return fecha;
	}
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	public Integer getTiempoValidez() {
		return tiempoValidez;
	}
	public void setTiempoValidez(Integer tiempoValidez) {
		this.tiempoValidez = tiempoValidez;
	}
	public float getTotalConDescuento() {
		return totalConDescuento;
	}
	public void setTotalConDescuento(float totalConDescuento) {
		this.totalConDescuento = totalConDescuento;
	}
	public float getTotalSinDescuento() {
		return totalSinDescuento;
	}
	public void setTotalSinDescuento(float totalSinDescuento) {
		this.totalSinDescuento = totalSinDescuento;
	}
	public float getDescuentoPorc() {
		return descuentoPorc;
	}
	public void setDescuentoPorc(float descuentoPorc) {
		this.descuentoPorc = descuentoPorc;
	}
	public List<ItemCotizacion> getItems() {
		return items;
	}
	public void setItems(List<ItemCotizacion> items) {
		this.items = items;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public Cliente getCliente() {
		return cliente;
	}
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	public String getIdCotizacion() {
		return idCotizacion;
	}
	public void setIdCotizacion(String idCotizacion) {
		this.idCotizacion = idCotizacion;
	}
	
	public CotizacionTO getDTO()
	{
		CotizacionTO aux = new CotizacionTO();
		
		aux.setIdCotizacion(idCotizacion);
		aux.setFecha(fecha);
		aux.setCliente(cliente.getDTO());
		aux.setTiempoValidez(tiempoValidez);
		aux.setTotalConDescuento(totalConDescuento);
		aux.setTotalSinDescuento(totalSinDescuento);
		aux.setDescuentoPorc(descuentoPorc);
		List<ItemCotizacionTO> itemsTO = new ArrayList<ItemCotizacionTO>();
		if (items!=null)
		{
			for(ItemCotizacion it : items )
			{
				itemsTO.add(it.getDTO());
			}
		}
		if(solicitudRodamientos!=null)
		{
			//aux.setSolicitudRodamientos(solicitudRodamientos.getDTO());
		}
		aux.setEstado(estado);
		return aux;
	}
	
	public static Cotizacion convertirTO(CotizacionTO dto)
	{
		Cotizacion aux = new Cotizacion();
		
		aux.setIdCotizacion(dto.getIdCotizacion());
		aux.setFecha(dto.getFecha());
		aux.setCliente(Cliente.convertirToACliente(dto.getCliente()));
		aux.setTiempoValidez(dto.getTiempoValidez());
		aux.setTotalConDescuento(dto.getTotalConDescuento());
		aux.setTotalSinDescuento(dto.getTotalSinDescuento());
		aux.setDescuentoPorc(dto.getDescuentoPorc());
		return aux;
	}
	
		
}
